package chemtools_logica.LN.SFBean;

import chemtools_logica.BDL.IR.BDL_SFTipogastoRemote;

import chemtools_logica.Beans.TipogastoBean;

import chemtools_logica.Entidades.Tipogasto;

import chemtools_logica.LN.IL.LN_SFTipogastoLocal;
import chemtools_logica.LN.IR.LN_SFTipogastoRemote;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import javax.ejb.EJB;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless(name = "LN_SFTipogasto", mappedName = "map-LN_SFTipogasto")
public class LN_SFTipogastoBean implements LN_SFTipogastoRemote, LN_SFTipogastoLocal {
    @Resource
    SessionContext sessionContext;
    @PersistenceContext(unitName = "Chemtools_Logica")
    private EntityManager em;
    
    @EJB
    BDL_SFTipogastoRemote bDL_SFTipogastoRemote;
    
    public List<TipogastoBean> getAllTiposGastoActivos(){
        List<Tipogasto> listaEntidad= bDL_SFTipogastoRemote.allTpoGastoActivos();
        List<TipogastoBean> listaBean = new ArrayList<TipogastoBean>();
        for(Tipogasto entidad : listaEntidad){
            TipogastoBean bean = convertEntityToBean(entidad);
            
            listaBean.add(bean);
        }
        return listaBean;
    }
    
    public void addTGasto(TipogastoBean bean){
        Tipogasto entidad = convertBeanToEntity(bean, 0);
        
        bDL_SFTipogastoRemote.mergeTipogasto(entidad);
    }
    
    public TipogastoBean convertEntityToBean(Tipogasto entidad){
        TipogastoBean bean = new TipogastoBean();
        
        bean.setIdTipoGasto(entidad.getIdTipoGasto());
        bean.setDescripcion(entidad.getDescripcion());
        bean.setEstado(entidad.getEstado());
        
        return bean;
    }
    //0 = AGREGAR, 1 = EDITAR
    public Tipogasto convertBeanToEntity(TipogastoBean bean, int opc){
        Tipogasto entidad = new Tipogasto();
        if(opc == 1){
            entidad.setIdTipoGasto(bean.getIdTipoGasto());
        }
        entidad.setDescripcion(bean.getDescripcion());
        entidad.setEstado(bean.getEstado());
        
        return entidad;
    }
}
